package top.xiangqifu.springboot2.user.service;


import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import top.xiangqifu.springboot2.user.base.BaseDataResult;
import top.xiangqifu.springboot2.user.base.BasePageResult;
import top.xiangqifu.springboot2.user.base.PageBean;
import top.xiangqifu.springboot2.user.entity.TbFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface FileService {
    /**
     * 下载文件
     * @param fid 文件表主键
     * @param response 请求信息
     */
    void download(Integer fid, HttpServletResponse response);

    /**
     * 上传文件
     * @param tbFile 文件对象
     * @param fileinfo 文件的信息
     * @return
     */
    @Transactional
    BaseDataResult<TbFile> upload(TbFile tbFile, MultipartFile fileinfo);

    /**
     * 查看历史图片
     * @param pageBean 分页信息
     * @return 文件对象集合
     */
    BasePageResult<List<TbFile>> historyFile(PageBean pageBean);

    /**
     * 查询当前用户上传的文件信息
     * @param tbFile 查询条件
     * @param pageBean 分页对象
     * @return 返回用户上传信息
     */
    BasePageResult<List<TbFile>> queryUserFile(TbFile tbFile, PageBean pageBean);
}
